#include <stdio.h>
#include <stdlib.h>
#include "threadtree.h"

int main(void)
{
	char *str = "ABC##DE##F##G#H##";
	ThreadTree tree;
	ThreadTreeNode *p;
	char ser = 'B';

	Init(&tree, '#');
	Create(&tree, &str);
	CreateInThread(&tree);

	printf("中序遍历结果为：");
	InOrder(tree.node);
	printf("中序遍历下的第一个结点为：");
	p = First(tree.node);
	if (p == NULL)
		printf("空树\n");
	printf("%c\n", p->data);

	p = Search(tree.node, ser); //测试：查找ser结点
	if (p == NULL)
	{
		printf("不存在\n");
		exit(EXIT_SUCCESS);
	}

	printf("%c结点中序遍历下的下一个结点为：", ser);
	printf("%c\n", Next(tree.node, p)->data); //测试：查找ser结点在中序遍历下的的下一个结点

	printf("%c结点中序遍历下的前一个结点为：", ser);
	printf("%c\n", Prio(tree.node, p)->data); //测试：查找ser结点在中序遍历下的的前一个结点

	// printf("%c\n",Search(tree.node,'e')->data);

	printf("%c\n", Parent(tree.node, p)->data); //测试：查找ser结点的父结点:A
	return 0;
}
